﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Remoting.Messaging;

namespace NMoq.Core
{
    public interface IInvocation
    {
        IMethodCallMessage MethodCallMessage { get; set; }

        DataProviderResult ReturnResult { get; set; }

        bool ShouldInvokeCall { get; set; }

        bool HasIntercepted { get; set; }

        object Target { get; set; }

        InterceptorActionAfterRead ActionAfterRead { get; set; }

        MethodMessageInfo GetMethodMessgeInfo();
    }
}
